package com.px.base.bo;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.px.common.validation.CreateGroup;
import com.px.common.validation.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import javax.validation.constraints.*;


/**
 * 社会经济人口编辑对象 bs_social_economy
 *
 * @author 品讯科技
 * @date 2024-08
 */
@Data
@ApiModel("社会经济人口编辑对象")
public class SocialEconomyEditBo {


    /** ID */
    @ApiModelProperty("ID")
    @NotNull(message = "ID不能为空", groups = UpdateGroup.class)
    @Null(message = "ID不能有值", groups = CreateGroup.class)
    private Long id;

    /** 行政区划ID */
    @ApiModelProperty("行政区划ID")
    @NotNull(message = "行政区划ID不能为空")
    private Long regionId;

    /** 行政地区名称 */
    @ApiModelProperty("行政地区名称")
    private String regionName;

    /** 年份 */
    @ApiModelProperty("年份")
    @NotNull(message = "年份不能为空")
    private Integer year;

    /** 总人口（万人） */
    @ApiModelProperty("总人口（万人）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal populationTotal;

    /** 常住人口（万人） */
    @ApiModelProperty("常住人口（万人）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal populationPermanent;

    /** 城市人口（万人） */
    @ApiModelProperty("城市人口（万人）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal populationCity;

    /** 农村人口（万人） */
    @ApiModelProperty("农村人口（万人）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal populationRural;

    /** 城镇化率（%） */
    @ApiModelProperty("城镇化率（%）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal urbanizationRate;

    /** 土地总面积（万亩） */
    @ApiModelProperty("土地总面积（万亩）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal areaTotal;

    /** 耕地面积（万亩） */
    @ApiModelProperty("耕地面积（万亩）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal areaAgricultural;

    /** 工商企业总数量（个） */
    @ApiModelProperty("工商企业总数量（个）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private Integer enterpriseTotal;

    /** 工业企业数（个） */
    @ApiModelProperty("工业企业数（个）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private Integer enterpriseIndustrial;

    /** 餐饮企业数（个） */
    @ApiModelProperty("餐饮企业数（个）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private Integer enterpriseCatering;

    /** 大中型养殖场（个） */
    @ApiModelProperty("大中型养殖场（个）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private Integer enterpriseFarm;

    /** 地方生产总值（万元） */
    @ApiModelProperty("地方生产总值（万元）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal gdpTotal;

    /** 第一产业增加值（万元）农业 */
    @ApiModelProperty("第一产业增加值（万元）农业")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal gdpOne;

    /** 第二产业增加值（万元）工业 */
    @ApiModelProperty("第二产业增加值（万元）工业")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal gdpTwo;

    /** 第三产业增加值（万元）服务业或商业 */
    @ApiModelProperty("第三产业增加值（万元）服务业或商业")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal gdpThree;

    /** 人均地方生产总值（万元/人） */
    @ApiModelProperty("人均地方生产总值（万元/人）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal gdpAvg;

    /** 城镇居民人均收入（元/年） */
    @ApiModelProperty("城镇居民人均收入（元/年）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal incomeCity;

    /** 农民人均收入（元/年） */
    @ApiModelProperty("农民人均收入（元/年）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal incomeFarmer;

    /** 万元生产总值能耗下降率（%） */
    @ApiModelProperty("万元生产总值能耗下降率（%）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal energyReductionRate;

    /** 万元生产总值能耗下降率年份 */
    @ApiModelProperty("万元生产总值能耗下降率年份")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private Integer energyReductionYear;

    /** 万元工业产值用水量（立方米/万元） */
    @ApiModelProperty("万元工业产值用水量（立方米/万元）")
	@TableField(updateStrategy = FieldStrategy.IGNORED )
    private BigDecimal energyReductionWater;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;
}
